骑士巡游问题 python

该博客介绍了一个使用Python解决骑士巡游问题的算法。通过初始化棋盘、检查坐标合法性、找出可行路径并进行剪枝操作,实现寻找棋盘上骑士能巡游的路径。代码中定义了多个辅助函数,如`checkXY`、`out1`、`play`等,最终通过递归搜索尝试找到巡游路径。如果找到路径,会打印出巡游顺序;否则,输出不存在巡游路径。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-




import numpy as np


def printP():
    global n
    global pieces
    for i in range(n):
        for j in range(n):
            print "%d\t"%pieces[i][j],
        print ""


def init():
    '''
    初始化棋盘
    '''
    global n
    global pieces
    global point #用于记录剩余的点
    pieces = [([0]*100)for j in range(100)]
    pieces = np.array(pieces)
    
    point = []
    for i in range(n):
        for j in range(n):
            point.append((i,j))


def checkXY(x,y):
    '''
    检查点(x,y)是否在棋盘上
    '''
    global n
    if x>=0 and x<n and y>=0 and y<n:
        return True
    return False
    
    
def out1(x,y):
    '''
    找出所有方向(包括已经被走过的点)
    '''
    global n
    global pieces
    global direction
    outLine1 = []
    for i in range(8):
        x1 = x+direction[i][0]
 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值